# 抖码算法，让算法学习变得简单有趣
# 作者：老汤
import sys


# 第二种方法：二分查找
# 因为两个输入数组都是有序的，在有序的数组中查找元素，可以往二分查找算法想
# 时间复杂度 O(mlogn)
# 如果你不熟悉二分查找，请学习课程 B【刷题篇第 8 天：二分查找】 中的第 0 节到第 6 节的内容
# 链接：https://yjs.xet.tech/s/1Ruc5h

# 在数组 B 的区间 [left...right] 中查找最后一个符合条件的 ai ，并返回它的索引
def last_target(B, left, right, ai, R):
    while left < right:
        mid = left + (right - left) // 2
        b = B[mid]
        if ai <= b and abs(ai - b) <= R:
            left = mid
        else:
            right = mid - 1
    b = B[left]
    if ai <= b and abs(ai - b) <= R:
        return left
    return -1


# 在数组 B 的区间 [left...right] 中查找第一个符合条件的 ai ，并返回它的索引
def first_target(B, left, right, ai, R):
    while left < right:
        mid = left + (right - left) // 2
        b = B[mid]
        if ai <= b and abs(ai - b) <= R:
            right = mid
        else:
            left = mid + 1
    b = B[left]
    if ai <= b and abs(ai - b) <= R:
        return left
    return -1


data = str(input()).split(" ")
m, n, R = int(data[0]), int(data[1]), int(data[2])

data = str(input()).split(" ")
A = [0] * m
for i in range(m):
    A[i] = int(data[i])

data = str(input()).split(" ")
B = [0] * n
for i in range(n):
    B[i] = int(data[i])

# 遍历 A 中每一个元素
for i in range(m):
    ai = A[i]
    # 如果 i 大于 B 数组的长度
    if i > n:
        # 那么直接计算左边 [0...n - 1] 符合条件的最后一个 bj
        left_index = last_target(B, 0, n - 1, ai, R)
        if left_index != -1:
            print(str(ai) + " " + str(B[left_index]))
            continue
    else:
        # 先判断 i == j 的情况
        j = i
        bj = B[j]
        if ai <= bj and abs(ai - bj) <= R:
            print(str(ai) + " " + str(bj))
            continue
        # 计算左边 [0...i - 1] 符合条件的最后一个 bj
        left_index = last_target(B, 0, i - 1, ai, R)
        # 计算右边 [i + 1...n - 1] 符合条件的第一个 bj
        right_index = first_target(B, i + 1, n - 1, ai, R)
        if left_index != -1 and right_index != -1:
            if abs(left_index - i) <= abs(right_index - i):
                print(str(ai) + " " + str(B[left_index]))
            else:
                print(str(ai) + " " + str(B[right_index]))
        elif left_index != -1:
            print(str(ai) + " " + str(B[left_index]))
        elif right_index != -1:
            print(str(ai) + " " + str(B[right_index]))
